package gecko.view.swing.PARAMETRES;

import java.awt.BorderLayout;
import java.awt.FlowLayout;
import java.awt.Font;
import java.awt.GridLayout;
import java.sql.SQLException;

import javax.swing.BorderFactory;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;

import gecko.model.Requete;
import gecko.view.IObservable;
import gecko.view.swing.VAdmin;


public class VParamFournisseurModif extends VAdmin implements IObservable {

	private static final long serialVersionUID = 1L;
	private JTextField tfSaisieNom;
	private JTextField tfSaisieNumero;
	private JTextField tfSaisieRue;
	private JTextField tfSaisieCP;
	private JTextField tfSaisieVille;
    private JComboBox<String> jsChoix = new JComboBox<String>();

	public JTextField getTfSaisieNom() {
		return tfSaisieNom;
	}

	public void setTfSaisieNom(JTextField tfSaisieNom) {
		this.tfSaisieNom = tfSaisieNom;
	}

	public JTextField getTfSaisieNumero() {
		return tfSaisieNumero;
	}

	public void setTfSaisieNumero(JTextField tfSaisieNumero) {
		this.tfSaisieNumero = tfSaisieNumero;
	}

	public JTextField getTfSaisieRue() {
		return tfSaisieRue;
	}

	public void setTfSaisieRue(JTextField tfSaisieRue) {
		this.tfSaisieRue = tfSaisieRue;
	}


	public JTextField getTfSaisieCP() {
		return tfSaisieCP;
	}

	public void setTfSaisieCP(JTextField tfSaisieCP) {
		this.tfSaisieCP = tfSaisieCP;
	}

	public JTextField getTfSaisieVille() {
		return tfSaisieVille;
	}

	public void setTfSaisieVille(JTextField tfSaisieVille) {
		this.tfSaisieVille = tfSaisieVille;
	}

	public VParamFournisseurModif() throws SQLException {
		super(controleur, false);

		// Creation des composants
		JLabel lParam = new JLabel(new ImageIcon("images/menu/Titre/ParametreT-F_V.png"));

		// Creation du conteneur << Libelle >> et ajout des composants
		JPanel pLib = new JPanel(new FlowLayout());
		pLib.add(lParam);
		pLib.setBorder(BorderFactory.createEmptyBorder(50, 0, 0, 0));

		JPanel pChoix = new JPanel(new FlowLayout());
		pChoix.setBorder(BorderFactory.createEmptyBorder(0, 0, 0, -10));
		JLabel lChoixFournisseur = new JLabel();
		lChoixFournisseur.setText("<html><body><b/><font color='blue'>Choisissez le fournisseur a modifier :</body></html>" );
		lChoixFournisseur.setToolTipText(lChoixFournisseur.getText());
				
		Requete r = new Requete();
		jsChoix = r.comboFournisseur();

		pChoix.add(lChoixFournisseur);
		pChoix.add(jsChoix);

		JPanel pCenter = new JPanel(new GridLayout(7,1));
		pCenter.setOpaque(false);

		JPanel pSaisieNom = new JPanel(new FlowLayout());
		JLabel lSaisieNom = new JLabel("Nom du fournisseur ?");
		tfSaisieNom = new JTextField(25);
				
		JPanel pSaisieNumero = new JPanel(new FlowLayout());
		JLabel lSaisieNumero = new JLabel("Numero de la rue ?");
		tfSaisieNumero = new JTextField(25);
		
		JPanel pSaisieRue = new JPanel(new FlowLayout());
		JLabel lSaisieRue = new JLabel("Rue du fournisseur ?");
		tfSaisieRue = new JTextField(25);
		
		JPanel pSaisieCP = new JPanel(new FlowLayout());
		JLabel lSaisieCP = new JLabel("Code postal ?");
		tfSaisieCP = new JTextField(25);
		
		JPanel pSaisieVille = new JPanel(new FlowLayout());
		JLabel lSaisieVille = new JLabel("Ville ?");
		tfSaisieVille = new JTextField(25);

		JPanel pBouton = new JPanel(new FlowLayout());
		JButton bEnregistrer = new JButton(new ImageIcon("images/boutons/vert/Modifier_V.png"));
		bEnregistrer.setActionCommand("ENREGISTRER_FOURNISSEUR_MODIF");
		bEnregistrer.addActionListener(controleur);
		bEnregistrer.setBorder(null);
		bEnregistrer.setBorderPainted(false);
		bEnregistrer.setContentAreaFilled(false);
		JButton bAnnuler = new JButton(new ImageIcon("images/boutons/blanc/Annuler_B.png"));
		bAnnuler.setActionCommand("ANNULER_FOURNISSEUR");
		bAnnuler.addActionListener(controleur);
		bAnnuler.setBorder(null);
		bAnnuler.setBorderPainted(false);
		bAnnuler.setContentAreaFilled(false);

		pSaisieNom.add(lSaisieNom);
		pSaisieNom.add(tfSaisieNom);
		pSaisieNumero.add(lSaisieNumero);
		pSaisieNumero.add(tfSaisieNumero);
		pSaisieRue.add(lSaisieRue);
		pSaisieRue.add(tfSaisieRue);
		pSaisieCP.add(lSaisieCP);
		pSaisieCP.add(tfSaisieCP);
		pSaisieVille.add(lSaisieVille);
		pSaisieVille.add(tfSaisieVille);		
		pBouton.add(bEnregistrer);
		pBouton.add(bAnnuler);

		pCenter.add(pChoix);
		pCenter.add(pSaisieNom);
		pCenter.add(pSaisieNumero);
		pCenter.add(pSaisieRue);
		pCenter.add(pSaisieCP);
		pCenter.add(pSaisieVille);
		pCenter.add(pBouton);

		pCenter.setBorder(BorderFactory.createEmptyBorder(50, 0, 0, 0));

		// Ajout de ce conteneur au conteneur de ma fenetre
		lCorps.add(pLib, BorderLayout.NORTH);
		lCorps.add(pCenter, BorderLayout.CENTER);

		// Assemblage de la fenetre
		this.pack();

		// Affichage de cette fenetre
		this.place();
	}

	public String getSaisieNom() {
		return tfSaisieNom.getText();
	}

	public String getSaisieNumero() {
		return tfSaisieNumero.getText();
	}

	public String getSaisieRue() {
		return tfSaisieRue.getText();
	}

	public String getSaisieCP() {
		return tfSaisieCP.getText();
	}

	public String getSaisieVille() {
		return tfSaisieVille.getText();
	}
	
	public String getIDFourn(){
		return jsChoix.getSelectedItem().toString();
	}
}